package com.cn.service.server.TechnologicalStandard;

import com.cn.bean.pojo.TechnologicalStandard.*;
import com.cn.bean.vo.PartsManagement.BusinessDepartmentType;
import com.cn.config.config.Result;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface GrindingProcessStandardMainService {
    List<GrindingProcessStandardMain> selectGrindingProcessStandardMain(int page, int limit, String equipmentStructure,String structureName,String name,String standardType,String procedures);
    List<GrindingProcessStandardMain> selectGrindingProcessStandardMainAll(int page, int limit, String equipmentStructure,String structureName,String name,String standardType,String procedures);
    Result addGrindingProcessStandardMain(GrindingProcessStandardMain grindingProcessStandardMain,
                                          List<GrindingConsumptionAuxiliaryMaterials> grindingConsumptionAuxiliaryMaterialsList,
                                          List<GrindingConsumptionLabor> grindingConsumptionLaborList,
                                          List<GrindingInhouseConsumptionExpenseItem> grindingInhouseConsumptionExpenseItemList,
                                          List<GrindingOutsourcedConsumptionExpenseItem> grindingOutsourcedConsumptionExpenseItemList,
                                          List<GrindingPass> grindingPassList,

                                          List<GrindingProcessStepSetting> grindingProcessStepSettingList,
                                          List<ReplacementCategory> replacementCategoryList,
                                          List<SpecializedGrindingEquipmentSetup> specializedGrindingEquipmentSetupList,
                                          SpecializedGrindingTeamMain specializedGrindingTeamMain,
                                          List<SpecializedGrindingTeamSub> specializedGrindingTeamSubList,
                                          List<TechnicalStandard> technicalStandardList);

    Result deleteGrindingProcessStandardMain(List<GrindingProcessStandardMain> idList);
    //修改的回显:
    List<GrindingProcessStandardMain> selectGrindingProcessStandardMainId(@Param("id")int id);
    //修改

   Result updateGrindingProcessStandardMain(GrindingProcessStandardMain grindingProcessStandardMain,
                                            List<GrindingConsumptionAuxiliaryMaterials> grindingConsumptionAuxiliaryMaterialsList,
                                            List<GrindingConsumptionLabor> grindingConsumptionLaborList,
                                            List<GrindingInhouseConsumptionExpenseItem> grindingInhouseConsumptionExpenseItemList,
                                            List<GrindingOutsourcedConsumptionExpenseItem> grindingOutsourcedConsumptionExpenseItemList,
                                            List<GrindingPass> grindingPassList,
                                            List<GrindingProcessStepSetting> grindingProcessStepSettingList,
                                            List<ReplacementCategory> replacementCategoryList,
                                            List<SpecializedGrindingEquipmentSetup> specializedGrindingEquipmentSetupList,
                                            SpecializedGrindingTeamMain specializedGrindingTeamMain,
                                            List<SpecializedGrindingTeamSub> specializedGrindingTeamSubList,
                                            List<TechnicalStandard> technicalStandardList);
    Result updateShGrindingProcessStandardMain(List<GrindingProcessStandardMain> grindingProcessStandardMainList,int state,String reviewer,String reviewerID,String reviewTime);

    List<GrindingProcessStandardMain> selectGmModel(int page,  int limit, String model);

}
